#pragma once
#include <vector>
#include "Vec2i.h"
#include "Level.h"

enum class Direction { Up, Down, Left, Right };

struct GameState {
    Vec2i player;
    std::vector<Vec2i> boxes;
};

class MoveSystem {
public:
    static bool move(const Level& level, GameState& state, Direction dir);
};